package com.example.demo.service;

import com.example.demo.model.dto.ChangePasswordDTO;
import com.example.demo.model.dto.ProfileUpdateDTO;
import com.example.demo.model.entity.user.User;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface ProfileService {
    User getCurrentUserProfile();
    User updateCurrentUserProfile(ProfileUpdateDTO updateDTO);
    void deactivateCurrentUserAccount();
    void deleteUserWithPermissionCheck(Long targetUserId);
    void changeCurrentUserPassword(ChangePasswordDTO changePasswordDTO);

    // 修改分页方法签名
    PageInfo<User> getAllUsers(int pageNum, int pageSize);

    List<User> searchUsers(String keyword);
}